// 封装请求基础路径
import axios from "axios"
axios.defaults.baseURL = "http://127.0.0.1:3000"
import { Toast } from "vant"
// 添加请求拦截器 --- 请求发送出去之前会触发的一个函数
// 只要我们添加了这个拦截器，任何一个用该axios的请求都会经过这里
axios.interceptors.request.use(function (config) {
    // 在发送请求之前做些什么
    // 如何统一设置token值呢？
    // 答：我们可以通过config获取到headers，从而通过它进行传值
    // console.log(10, config);
    let token = localStorage.getItem("74-token");
    // 当token存在的时候 才需要传递token给后端
    if(token){
        config.headers.Authorization = token
    }
    return config;
  }, function (error) {
    // 对请求错误做些什么
    return Promise.reject(error);
  });

// 添加响应拦截器
axios.interceptors.response.use(function (response) {
  // 对响应数据做点什么
  // console.log(26,response);
  // 当statusCode值为401的时候，说明用户没有登录
  if(response.data.statusCode === 401){
    Toast.fail("未登录，请先登录！")
    location.href = "http://127.0.0.1:8080/#/login"
  }
  return response;
}, function (error) {
  // 对响应错误做点什么
  return Promise.reject(error);
});

export default axios
